package com.isoft.data.service;

import com.isoft.data.dao.*;
import com.isoft.data.xml.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
public class AllService {
    @Autowired
    CaneDao caneDao;
    @Autowired
    BoreDao boreDao;
    @Autowired
    CfceDao cfceDao;
    @Autowired
    CkieDao ckieDao;
    @Autowired
    CkoeDao ckoeDao;
    @Autowired
    CklsDao cklsDao;
    @Autowired
    ApueDao apueDao;
    @Autowired
    CfueDao cfueDao;
    @Autowired
    AfidDao afidDao;
    @Autowired
    AirlDao airlDao;
    @Autowired
    ArreDao arreDao;
    @Autowired
    BllsDao bllsDao;
    @Autowired
    LbdeDao lbdeDao;
    @Autowired
    OnreDao onreDao;
    @Autowired
    PokeDao pokeDao;
    @Autowired
    MetaDao metaDao;

    public void addBore(Bore bore) {
//        boreDao.addBore(bore);
        metaDao.metaAdd(bore.getMeta());
    }
    public void addCane(Cane cane) {
//        caneDao.addCane(cane);
        metaDao.metaAdd(cane.getMeta());
    }
    public void addCfce(Cfce cfce) {
//        cfceDao.addCfce(cfce);
        metaDao.metaAdd(cfce.getMeta());
    }
    public void addCkie(Ckie ckie) {
//        ckieDao.addCkie(ckie);
        metaDao.metaAdd(ckie.getMeta());
    }

    public void addCkoe(Ckoe ckoe) {
//        ckoeDao.addCkoe(ckoe);
        metaDao.metaAdd(ckoe.getMeta());
    }

    @Transactional
    public void addCkls(Ckls ckls) {

//        cklsDao.addCkls(ckls);
//        cklsDao.addCklsCkls(ckls);
//        List<CklsDfltCklsCntr> cklsDfltCklsCntrs =ckls.getDflt().getCkls().getCntr();
//        if (cklsDfltCklsCntrs!=null&&cklsDfltCklsCntrs.size()>0){
//            for (CklsDfltCklsCntr c:cklsDfltCklsCntrs){
//                cklsDao.addCklsCklsCntr(ckls,c);
//            }
//        }
        metaDao.metaAdd(ckls.getMeta());
    } //多表
    public void addApue(Apue apue){
//        apueDao.addApue(apue);
        metaDao.metaAdd(apue.getMeta());
    }
    public void addCfue(Cfue cfue){
//        cfueDao.addCfue(cfue);
        metaDao.metaAdd(cfue.getMeta());
    }
    public void addAfid(Afid afid){
//        afidDao.addAfid(afid);
        metaDao.metaAdd(afid.getMeta());
    }
    public void addAirl(Airl airl){
//        airlDao.airlAdd(airl);
        metaDao.metaAdd(airl.getMeta());
    }
    @Transactional
    public void addAirlArpt(Airl airl){
        List<AirlDfltArpt> airlDfltArptList=airl.getAirl().getAirlDfltArptList();
        if (airlDfltArptList!=null&&airlDfltArptList.size()>0){
            for (AirlDfltArpt c :
                    airlDfltArptList) {
                airlDao.airlArptAdd(airl,c);
            }
        }
    }
    public void addArre(Arre arre){
//        arreDao.arreAdd(arre);
        metaDao.metaAdd(arre.getMeta());
    }
    @Transactional
    public void addBlls(Blls blls) {
//        bllsDao.addBlls(blls);
//        List<BllsdfltBelt> bllsdfltBelts =blls.getDflt().getBlls();
//        if (bllsdfltBelts!=null&&bllsdfltBelts.size()>0){
//            for (BllsdfltBelt b:bllsdfltBelts){
//                bllsDao.addBllsdfltBelt(blls,b);
//            }
//        }
        metaDao.metaAdd(blls.getMeta());
    }

    @Transactional
    public boolean addLbde(Lbde lbde){
        return lbdeDao.addMETA(lbde)>0 && lbdeDao.addLbde(lbde)>0;
    }

    @Transactional
    public boolean addOnre(Onre onre){
        return onreDao.addMETA(onre)>0 && onreDao.addOnre(onre)>0;
    }

    @Transactional
    public boolean addPoke(Poke poke){
        return pokeDao.addMETA(poke)>0 && pokeDao.addPoke(poke)>0;
    }
}
